<div class="refentry" title="glDepthFunc"><a id="glDepthFunc"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glDepthFunc — specify the value used for depth buffer comparisons</p></div><div class="refsynopsisdiv" title="C Specification"><h2>C Specification</h2><div class="funcsynopsis"><table class="funcprototype-table"><tr><td><code class="funcdef">void <b class="fsfunc">glDepthFunc</b>(</code></td><td>GLenum <var class="pdparam">func</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Parameters"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term">
                    <em class="parameter"><code>func</code></em>
                </span></dt><dd><p>Specifies the depth comparison function. Symbolic constants
                    <code class="constant">GL_NEVER</code>,
                    <code class="constant">GL_LESS</code>,
                    <code class="constant">GL_EQUAL</code>,
                    <code class="constant">GL_LEQUAL</code>,
                    <code class="constant">GL_GREATER</code>,
                    <code class="constant">GL_NOTEQUAL</code>,
                    <code class="constant">GL_GEQUAL</code>, and
                    <code class="constant">GL_ALWAYS</code> are accepted. The initial value is
                    <code class="constant">GL_LESS</code>.</p></dd></dl></div></div><div class="refsect1" title="Description"><a id="description"></a><h2>Description</h2><p>
        <code class="function">glDepthFunc</code>
        specifies the function used to compare each incoming pixel
        depth value with the depth value present in the depth buffer.
        The comparison is performed only if depth testing is enabled.
        To enable and disable depth testing, call
        <a class="citerefentry" href="glEnable"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a> and
        <a class="citerefentry" href="glDisable"><span class="citerefentry"><span class="refentrytitle">glDisable</span></span></a>
        with argument <code class="constant">GL_DEPTH_TEST</code>.
        Depth testing is initially disabled.</p><p><em class="parameter"><code>func</code></em>
        specifies the conditions under which the pixel will be drawn.
        The comparison functions are as follows:</p><div class="variablelist"><dl><dt><span class="term">
                    <code class="constant">GL_NEVER</code>
                </span></dt><dd><p>Never passes.</p></dd><dt><span class="term">
                    <code class="constant">GL_LESS</code>
                </span></dt><dd><p>Passes if the incoming depth value is less than the
                    stored depth value.</p></dd><dt><span class="term">
                    <code class="constant">GL_EQUAL</code>
                </span></dt><dd><p>Passes if the incoming depth value is equal to the
                    stored depth value.</p></dd><dt><span class="term">
                    <code class="constant">GL_LEQUAL</code>
                </span></dt><dd><p>Passes if the incoming depth value is less than or
                    equal to the stored depth value.</p></dd><dt><span class="term">
                    <code class="constant">GL_GREATER</code>
                </span></dt><dd><p>Passes if the incoming depth value is greater than
                    the stored depth value.</p></dd><dt><span class="term">
                    <code class="constant">GL_NOTEQUAL</code>
                </span></dt><dd><p>Passes if the incoming depth value is not equal to
                    the stored depth value.</p></dd><dt><span class="term">
                    <code class="constant">GL_GEQUAL</code>
                </span></dt><dd><p>Passes if the incoming depth value is greater than
                    or equal to the stored depth value.</p></dd><dt><span class="term">
                    <code class="constant">GL_ALWAYS</code>
                </span></dt><dd><p>Always passes.</p></dd></dl></div><p>The initial value of <em class="parameter"><code>func</code></em> is
        <code class="constant">GL_LESS</code>. Initially, depth testing is disabled.
        If depth testing is disabled or no depth buffer exists, it is as if the
        depth test always passes.
        Even if the depth buffer exists and the depth mask is non-zero,
        the depth buffer is not updated if the depth test is disabled.</p></div><div class="refsect1" title="Errors"><a id="errors"></a><h2>Errors</h2><p><code class="constant">GL_INVALID_ENUM</code> is generated if
        <em class="parameter"><code>func</code></em> is not an accepted value.</p></div><div class="refsect1" title="See Also"><a id="seealso"></a><h2>See Also</h2><p>
        <a class="citerefentry" href="glDepthRange"><span class="citerefentry"><span class="refentrytitle">glDepthRange</span></span></a>,
        <a class="citerefentry" href="glEnable"><span class="citerefentry"><span class="refentrytitle">glEnable</span></span></a>,
        <a class="citerefentry" href="glPolygonOffset"><span class="citerefentry"><span class="refentrytitle">glPolygonOffset</span></span></a>
        </p></div><div class="refsect1" title="Copyright"><a id="copyright"></a><h2>Copyright</h2><p>
            Copyright © 2003-2004
            Silicon Graphics, Inc. This document is licensed under the SGI
            Free Software B License. For details, see
            <a class="ulink" href="https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/" target="_top">https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/</a>.
        </p></div></div>
